ในการจัดการฐานข้อมูล การได้ผลลัพธ์เชิงตรรกะที่ถูกต้องเป็นเพียงครึ่งหนึ่งของเป้าหมายเท่านั้น ความเข้าใจเกี่ยวกับ ประสิทธิภาพของคิวรี ช่วยให้มั่นใจว่าฐานข้อมูลคำนวณผลลัพธ์นั้นอย่างมีประสิทธิภาพโดยไม่เปลืองทรัพยากรของระบบ คิวรีหนึ่งๆ สามารถคืนข้อมูลที่ต้องการได้อย่างถูกต้องแม่นยำ ขณะที่ทำงานอย่างไม่มีประสิทธิภาพในเบื้องหลัง
วัตถุประสงค์การเรียนรู้และบริบท
บรรยายครั้งที่ 11 — คำตอบที่ถูกต้อง คิวรีที่แย่มาก: เน้นย้ำว่าการเขียน SQL ที่ทำงานได้เพียงอย่างเดียวยังไม่พอ นักพัฒนาฐานข้อมูลต้องเข้าใจว่าตัวเพิ่มประสิทธิภาพคิวรี (query optimizer) ดำเนินการทำงานเบื้องหลังอย่างไร
แนวคิดหลัก
- ความถูกต้องเชิงตรรกะ vs. ประสิทธิภาพการทำงาน: การคืนข้อมูลได้สำเร็จไม่ได้รับประกันการใช้ทรัพยากรอย่างมีประสิทธิภาพ คิวรีสองตัวที่ทำงานเหมือนกันตามหน้าที่สามารถให้ตารางผลลัพธ์เดียวกันทุกประการ แต่ใช้ CPU หน่วยความจำ และการอ่าน/เขียนดิสก์ในปริมาณที่ต่างกันอย่างมาก
- ผลกระทบต่อความสามารถในการขยายระบบ: คิวรีที่ไม่ได้รับการปรับให้เหมาะสมทำหน้าที่เป็นคอขวดด้านประสิทธิภาพ ทำให้ผู้ใช้ที่ใช้งานพร้อมกันช้าลง เพิ่มภาระให้กับเซิร์ฟเวอร์ และไม่สามารถขยายระบบได้อย่างราบรื่นเมื่อขนาดฐานข้อมูลเพิ่มขึ้น
- ตัวอย่างสถานการณ์: การค้นหาลูกค้ารายหนึ่งในตารางที่มีแถวหลายล้านแถว คิวรีที่ไม่มีประสิทธิภาพบังคับให้สแกนทั้งตารางซึ่งใช้เวลาหลายวินาที ในขณะที่คิวรีที่ปรับให้เหมาะสมแล้วสามารถดึงข้อมูลได้ภายในมิลลิวินาที
บันทึกเสริม
บรรยายครั้งที่ 11 — คำตอบที่ถูกต้อง คิวรีที่แย่มาก: นักพัฒนาฐานข้อมูลต้องวิเคราะห์แผนการทำงาน (execution plans) เพื่อให้แน่ใจว่าคิวรีขยายระบบได้อย่างมีประสิทธิภาพภายใต้ภาระงานจริงที่หนักหน่วง
